วิธี Restore จาก Snapshot EC2 ด้วย AWS Backup
ครั้งนี้ผมจะมาเขียนบทความเกี่ยวกับการ Restore ของ EC2 จากการ Backup ข้อมูลที่สร้างโดย AWS Backup
AWS Backup
AWS Backup เป็นบริการที่มีการจัดการเต็มรูปแบบที่สามารถใช้เพื่อสำรองข้อมูลในบริการ AWS ได้อัตโนมัติ บริการที่รองรับ ได้แก่ Aurora, RDS, EBS, EC2, EFS, FSx และ Storage Gateway
Restore backup
Restore backup คือ การกู้ข้อมูลหรือนำข้อมูลที่ทำการ Backup ไว้ก่อนหน้านี้มาใช้งานเพื่อใช้แก้ปัญหาในขณะที่เว็บไซต์เกิดการขัดข้อง ให้สามารถใช้งานได้อย่างต่อเนื่อง
สิ่งที่ต้องมี
ก่อนที่เราจะทำการสร้าง Snapshot EC2 เราจะต้องมี EC2 Instance ก่อน จึงจะสามารถทำการสร้าง Snapshot EC2 ได้ สำหรับเพื่อนๆ ที่ยังไม่มี EC2 Instance สามารถดูวิธีการได้ที่ด้านล่างนี้
- วิธีติดตั้ง Amazon Linux บน EC2 และเชื่อมต่อเซิร์ฟเวอร์ด้วยโปรแกรม PuTTy
หลังจากที่เรามี EC2 Instance แล้ว เราก็ต้องทำการ Backup ข้อมูลไว้ล่วงหน้าเพื่อที่จะสามารถทำการ Restore ได้ ถ้าไม่ทำการ Backup ข้อมูลก่อน ก็จะไม่สามารถทำการ Restore ได้ สามารถดูวิธีการ Backup ข้อมูลแบบ On-demand และ Schedule ได้ที่ด้านล่างนี้ (จะเลือกทำวิธีไหนก็ได้ แต่ถ้าต้องการ Backup ข้อมูลในทันที ให้ทำวิธีของ On-demand)
การ Backup ข้อมูลแบบ On-demand
การ Backup ข้อมูลแบบ Schedule
หลังจากที่เราทำการ Backup ข้อมูลเตรียมไว้แล้ว เรามาเริ่มทำการ Restore กันเลย
1. วิธีตรวจสอบ Protected resource
การตรวจสอบ Protected resource ของวันปัจจุบันและวันถัดไป
ให้ Copy Resource ID จากหน้า Backup vault
มาที่เมนูด้านซ้าย » เลือกProtected resources
วางในช่องค้นหา? instance/i-Your_Resource_ID
+ Enter » คลิกที่Resource ID
ของเรา
หลังจากครบกำหนดของวันที่เราได้ตั้งค่าไว้ จะเห็นว่า Recovery point ID จะมี image ถูกสร้างขึ้นมาโดยอัตโนมัติ
ถ้ามีการใช้งานต่อเนื่อง 6 วัน ก็จะมีการ Backups ข้อมูลให้เป็นรายวันตามที่เราได้กำหนดไว้โดยอัตโนมัติ
2. Restore Backup จาก Resorce
ข้อควรระวัง
- EIP จะหายไป
- การตั้งค่า Route53 และ CloudFront จะหายไป จากนั้นต้องทำการตั้งค่าอีกครั้ง เพื่อให้สามารถใช้งานได้
- Key Pair จะถูกตั้งค่าให้ใช้อันเดียวกัน
- Security Group จะเป็นค่าเริ่มต้นที่เหมือนกัน และสามารถเลือกใช้อันอื่น หรือรีเซ็ตได้
- Instance Type สามารถเปลี่ยนเป็น Type อื่นได้
การ Restore สามารถทำได้ทั้ง 2 วิธีดังนี้
1. Restore ในหน้า Protected resources
ให้เข้ามาที่หน้า Protected resources นี้โดยทำตามขั้นตอน 1. วิธีตรวจสอบ Protected resource ด้านบนนี้ พอมาถึงในส่วนของ Backups ให้ตั้งค่าตามนี้
» คลิก Recovery point ID:image/ami-??
ของเรา
» คลิกRestore
2. Restore ในหน้า Backup vault
ค้นหาคำว่า? AWS Backup
» เลือกAWS Backup
มาที่เมนูด้านซ้าย » เลือกBackup vaults
เลือก Backup vault name:ec2-tinnakorn-vault
(ชื่อนี้เป็นแค่ตัวอย่าง)
คลิกimage/ami-??
คลิกRestore
หลังจากรู้วิธีการที่จะเข้ามายังหน้า Protected resources และ Backup vault แล้ว ให้ทำการ Restore ตามขั้นตอนต่อไปนี้
ในส่วนของ Network settings จะเป็นข้อมูลทั้งหมดของการ Backup ข้อมูลไว้ก่อนหน้านี้ ซึ่งจะเป็นการ Copy ข้อมูลทั้งหมดนี้มาสร้างเป็น EC2 Instance ใหม่
คลิกRestore backup
หลังจากทำการ Restore แล้ว ก็จะมาที่หน้านี้โดยอัตโนมัติ แล้วให้สังเกตที่ Status จะเป็น ◴Pending
คือกำลังเริ่มทำการ Restore
ต้องรอจนกว่าจะขึ้น ☑ Complete โดยปกติแล้วจะใช้เวลาไม่กี่นาที
3. ตรวจสอบ EC2 Instance
จะเห็นว่ามี Instance เพิ่มขึ้นมาอัตโนมัติ และมี Status check เป็น Initializing ก็คือกำลังทำการเริ่มระบบ Instance นั่นเอง
ทำการตั้งชื่อ Instance ตามนี้
» คลิกที่สัญลักษณ์ ? ตามรูป
» Edit Name:ec2-tinnakorn-backup
(ใส่ชื่ออะไรก็ได้)
» คลิกSave
คลิกInstance ID
ของเรา
ข้อมูลใน Instance ใหม่นี้จะมีข้อมูลที่เหมือนกับ Instance ต้นฉบับ แต่จะไม่มีการเชื่อมโยงกับ Elastic IP
หน้านี้คือ Instance ของต้นฉบับ จะมีการเชื่อมโยงกับ Elastic IP
4. ตรวจสอบการเข้าถึงโดยใช้ Putty
มาที่ PuTTy แล้วทำการตรวจสอบข้อมูลของ Instance ต้นฉบับ โดยใช้คำสั่งll /var/www/html
จะเห็นว่ามีข้อมูลอยู่ 3 ไฟล์
คลิกขวาที่แถบด้านบนของโปรแกรม PuTTy แล้วเลือกNew Session...
Copy Public IPv4 address ในหน้า Instance ใหม่ที่ทำการ Backup ข้อมูลมาล่าสุด
ตั้งค่า PuTTy Configuration ตามนี้
① คลิกec2-tinnakorn
(ชื่อนี้คือตัวอย่าง)
② คลิกLoad
เพื่อให้มีข้อมูลการตั้งค่าของ ec2-tinnakorn แสดงขึ้นมา
③ ใส่ IP Instance ที่คัดลอกมาจาก Instance ลงใน Host Name
④ Saved Sessions:ec2-tinnakorn-backup
(ใส่ชื่ออะไรก็ได้)
⑤ คลิกSave
(เป็นการ Save ชื่อ Session และ Host Name ของ Instance ใหม่ แต่ข้อมูลการตั้งค่าก่อนหน้านี้ก็จะเหมือนกับ Instance ต้นฉบับทั้งหมด รวมไปถึง Key Pair ก็จะถูกใช้อันเดียวกัน เพราะ Key pair สามารถใช้ร่วมกันได้)
เลือกec2-tinnakorn-backup
» คลิกOpen
คลิกAccept
ตรวจสอบข้อมูลใน Instance ใหม่ โดยใช้คำสั่งll /var/www/html
จะเห็นว่ามีข้อมูลอยู่ 3 ไฟล์เหมือนกับ Instance ต้นฉบับ
สรุป
การ Restore การสำรองข้อมูลจาก AWS Backup สามารถทำได้ง่ายๆ และยังช่วยให้การใช้งานเว็บไซต์มีความราบรื่นและใช้งานได้อย่างต่อเนื่องอีกด้วย